Skip to content

Add "Arbiter" document to Architecture#10

Open
zdover23 wants to merge 1 commit intocobaltcore-dev:mainfrom
zdover23:docs-2026-03-12-docs-architecture-arbiter
Open

Add "Arbiter" document to Architecture#10
zdover23 wants to merge 1 commit intocobaltcore-dev:mainfrom
zdover23:docs-2026-03-12-docs-architecture-arbiter

Conversation

@zdover23
Copy link
Contributor

@zdover23 zdover23 commented Mar 11, 2026

Add "Arbiter" document to the Architecture section of the Apeiro documentation.

Summary by CodeRabbit

  • Documentation
    • Added comprehensive External Arbiter Operator docs covering project overview, prerequisites and setup, build and install steps, Helm-based deployment, configuration and example manifests, cluster provisioning and kubeconfig guidance, creating and deploying arbiter resources, readiness and quorum verification commands, cleanup procedures, and Make targets for build/lint/test/generation.


The external-arbiter-operator works with Rook-provisioned Ceph clusters to
deploy external arbiters (monitors) that are not managed by Rook but that
participate in consensus.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a sentence here that explains why it's desirable to have external monitors that are not managed by Rook but that participate in consensus? I think that it would strengthen this document.

Copilot AI review requested due to automatic review settings March 13, 2026 04:32
@zdover23 zdover23 force-pushed the docs-2026-03-12-docs-architecture-arbiter branch from 2449259 to 1631ccf Compare March 13, 2026 04:32
@coderabbitai
Copy link

coderabbitai bot commented Mar 13, 2026

📝 Walkthrough

Walkthrough

Adds a new documentation file describing the External Arbiter Operator: project overview, prerequisites, setup and build steps, Helm install instructions, configuration and deployment of RemoteCluster/RemoteArbiter, verification commands, cleanup, and make targets.

Changes

Cohort / File(s) Summary
External Arbiter Operator Documentation
docs/architecture/arbiter.md
New comprehensive documentation covering operator purpose, requirements and setup (tools, Go deps), quick start (clone, VM/kubeconfig), install prerequisites (cert-manager, Rook/Ceph), build & Helm installation steps, deploy/configure RemoteCluster and RemoteArbiter, readiness and quorum verification commands, cleanup, Make targets, and example manifests/values.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐇 I hopped to the repo with notes in my paw,
Wrote steps for the arbiter, neat, without flaw,
From cluster to quorum, each command in a line,
Deploy, check, and cleanup — the process is fine! 🌿

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title directly and clearly describes the main change: adding a new 'Arbiter' document to the Architecture section, which matches the file addition and PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Architecture documentation page describing the “Arbiter” (external-arbiter-operator) component and how to set it up/run it.

Changes:

  • Introduces a new docs/architecture/arbiter.md page with project overview and requirements.
  • Documents a local development quick start (tools, cert-manager/Rook/Ceph install, operator build/install, arbiter deployment).
  • Adds configuration/run steps and a “See Also” reference to the upstream repository.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/architecture/arbiter.md`:
- Line 196: The Markdown link on line 196 is reversed — the URL and link text
are swapped; replace the current
"[https://github.com/cobaltcore-dev/external-arbiter-operator?tab=readme-ov-file](Arbiter
Repository)" with a proper Markdown link using the repository URL as the
destination and "Arbiter Repository" as the link text so it reads like "Arbiter
Repository" linking to the GitHub URL.
- Around line 43-46: The "Clone and Setup" snippet is missing the actual git
clone step; update the block so that before running make deps it first runs git
clone https://github.com/rook/rook.git and cd rook (i.e., add the clone and cd
commands immediately above the existing make deps line that currently references
the Rook repository).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b059f0d7-07ad-4e5c-b9cc-37bbde3aaa3d

📥 Commits

Reviewing files that changed from the base of the PR and between f6d3249 and 1631ccf.

📒 Files selected for processing (1)
  • docs/architecture/arbiter.md

Comment on lines +43 to +46
```bash
# Clone [Rook repository](https://github.com/rook/rook) if not already done
make deps

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add the actual clone command in the “Clone and Setup” block

Line 44 says to clone the repo, but the snippet only runs make deps. This makes the quick start incomplete for first-time users.

Proposed doc fix
 ```bash
-# Clone [Rook repository](https://github.com/rook/rook) if not already done
+# Clone Rook repository if not already done
+git clone https://github.com/rook/rook.git
+cd rook
 make deps
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/architecture/arbiter.md` around lines 43 - 46, The "Clone and Setup"
snippet is missing the actual git clone step; update the block so that before
running make deps it first runs git clone https://github.com/rook/rook.git and
cd rook (i.e., add the clone and cd commands immediately above the existing make
deps line that currently references the Rook repository).

Add "Arbiter" document to the Architecture section of the Apeiro
documentation.

Signed-off-by: Zac Dover <zac.dover@clyso.com>
@zdover23 zdover23 force-pushed the docs-2026-03-12-docs-architecture-arbiter branch from e3728c0 to 2689197 Compare March 13, 2026 05:00
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
docs/architecture/arbiter.md (1)

43-47: ⚠️ Potential issue | 🟡 Minor

Quick start is still missing executable clone/setup commands

Line 44 references cloning Rook, but no command is provided, and make deps lacks directory context. This still leaves first-time setup incomplete.

Proposed doc fix
 ```bash
-# Clone the Rook repository: https://github.com/rook/rook 
-
-#Run `make deps`:
+# Clone Rook into ./rook (required by paths used below)
+git clone https://github.com/rook/rook.git ./rook
+
+# Install project dependencies
 make deps
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/architecture/arbiter.md around lines 43 - 47, Add an explicit git clone
command and directory context before running make deps: insert a line that
clones the Rook repo into the expected ./rook directory (e.g., "git clone
https://github.com/rook/rook.git ./rook") and update the make deps step to run
from that directory (or note that make deps should be executed in ./rook);
update the quick-start snippet around the current "Clone the Rook repository"
and "make deps" lines so readers have an executable, ordered sequence.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @docs/architecture/arbiter.md:

  • Around line 43-47: Add an explicit git clone command and directory context
    before running make deps: insert a line that clones the Rook repo into the
    expected ./rook directory (e.g., "git clone https://github.com/rook/rook.git
    ./rook") and update the make deps step to run from that directory (or note that
    make deps should be executed in ./rook); update the quick-start snippet around
    the current "Clone the Rook repository" and "make deps" lines so readers have an
    executable, ordered sequence.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `32a25842-5d44-457b-b334-c558d9215307`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 1631ccf67f7c1ce9affbd51a60acf8a6b118d6d4 and 268919757eb1f75d83d242d873543251f294d8e2.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `docs/architecture/arbiter.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants